/**
 * @filename:SaleOrderService Feb 18, 2025
 * @project Wonder Vue Admin Api  1.1.0
 * Copyright(c) 2022 Wonder Co. Ltd. 
 * All right reserved. 
 */
package com.wonder.app.service;
import com.wonder.app.domain.SaleOrder;
import com.wonder.app.request.SaleOrderRequest;
import com.wonder.common.common.AjaxResult;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;
import java.util.List;
/**   
 * @Description:TODO(销售订单服务层)
 * @version: 1.1.0
 * @author: Wonder
 * 
 */
public interface SaleOrderService extends IService<SaleOrder> {

    
    /**
     * 验证销售订单信息
     * 
     * @param saleOrder
     * @param type
     * @return 结果
     */
    public String validate(SaleOrder saleOrder,String type);   
   
	
	 /**
	 * Description:销售订单分页返回
	 * @param request//检索条件
	 * @param page//分页参数
	 * @return IPage<SaleOrder>   //分页记录
	 */
    public IPage<SaleOrder> selectList(SaleOrderRequest request, Page<SaleOrder> page);
	/**
	 * 详情Stkotherout
	 * @param map
	 * @return
	 */
	Map<String, Object> getSaleOrderDetail(Map<String, Object> map);

	/**
	 * 导入
	 */
	// Excel文件导入
//	AjaxResult<Object> importExcelData(MultipartFile file);

	// Map数据列表导入
	AjaxResult<Object> importData(String userName,Long user_id,List<Map<String, Object>> dataList) throws Exception;
	/**
	 * 删除
	 * @param map
	 * @return
	 */
	Map<String, Object> getSaleOrderDelete(Map<String, Object> map,Long user_id) throws Exception;

	/**
	 * 导入变更单
	 * @param map
	 * @return
	 * @throws Exception
	 */
	AjaxResult<Object> importUpdateData(List<Map<String, Object>> map) throws Exception;

	/**
	 * 查询仓库
	 * @param stock
	 * @return
	 * @throws Exception
	 */
	Map<String,Object> getStok(String stock)throws Exception;
}
